package com.common.mybaits;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * @author 大忽悠
 * @create 2022/10/9 11:38
 */
public class PageFactory {
    public static final Integer DEFAULT_PAGE_SIZE=10;
    public static final Integer DEFAULT_PAGE_NUM=0;
    /**
     * @param type 分页返回的数据类型
     * @param pageNum 第几页
     * @param pageSize 一页多少条数据
     * @param <T> 数据类型
     * @return 返回分页对象
     */
    public static  <T> Page<T> newPage(T type,Integer pageNum,Integer pageSize){
        return new Page<T>(pageNum,pageSize);
    }

    public static  <T> Page<T> newPage(T type,Integer pageNum){
        return new Page<T>(pageNum,DEFAULT_PAGE_SIZE);
    }

    public static  <T> Page<T> newPage(T type){
        return new Page<T>(DEFAULT_PAGE_NUM,DEFAULT_PAGE_SIZE);
    }

    public static  <T> Page<T> newPage(T type, CustomPage customPage){
        return new Page<T>(customPage.getPageNum(), customPage.getPageSize());
    }
}
